The ability to backup data and restore lost data is an important function of modern computer systems. Many companies and individuals with large amounts of stored data employ a file system as a data storage system. These data storage systems can be located local to the data to be backed up or at a remote site. The data storage systems can be managed by the entity controlling the data storage devices or a data storage service company. Data can be added to the storage system at any frequency and at any amount.
Data storage systems may offer storage for backup and disaster recovery. Transfer to remote storage may require the transfer of data over a network. A local client data backup application prepares and sends data from the local file system to a backup system. The backup system stores the data received from the local client application to be utilized in the event of a corruption or failure at the computing device executing the local client data backup application.
However, the implementation of backup and restore functions is complex. Data storage systems are expected to handle multiple workflows, which are chains of actions including backup actions and clone actions that are scheduled to be run. Current backup solutions fail to support the filtering of work items passed between the actions in a workflow.